<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //不会报错，var关键字会由顶层作用域提升
        console.log(a);
        var a = 10;
        //var声明过的变量可以重复的声明
        var a = 20 ; 
        console.log(a);
        console.log(window.a)
        var b = 30;
        console.log(window.b);
        //var定义变量会污染全局变量

        {
            //没有块级作用域
            var c=10 ;
        }
        console.log("c:"+c);

        function func(){
            var d = 10 ; 
            console.log("func调用了")
        }
        func();
        //console.log(d);




        function func2(){
            //如果一个函数中的变量没有使用var声明或者let声明，则这个变量可以作为全局变量
            e = 10 ; 
            console.log("func2调用了")
        }
        func2();
        console.log("e:"+e);

        function func3(){
            console.log("func3:"+e);
        }
        func3();
        console.log("window.e:"+window.e);
        
    </script>
</body>
</html>